/**
 * 
 */
package com.dycn.posdashboard.services;

import java.util.Date;
import java.util.List;

import com.dycn.posdashboard.data.LiveUpTransactionInfo;
import com.dycn.posdashboard.data.PosTransactionData;
import com.dycn.posdashboard.data.ServicesResultObject;

/**
 * @author gongqiyi
 *
 */
public interface LiveTransactionDataServices {


	//延迟N秒的实时订单信息
	public ServicesResultObject<List<LiveUpTransactionInfo>> getLivePosTransactionInforOfBranch(String dbSource,String branchNo,Date lastUpdateTime);
	
	//
	public void updateLastPosTransactionInforOnCache(List<PosTransactionData> newPosTransactionDataList);
	
	/**
	 * 
	 * @param dbSource
	 * @param merchantNo
	 * @return
	 */
	public ServicesResultObject<List<PosTransactionData>> getLivePosTransactionInforOfMerchant(String dbSource,String merchantNo,Date lastUpdateTime);
	
	/**
	 * 
	 * @param dbSource
	 * @param lastUpdateTime
	 * @return
	 */
	public ServicesResultObject<List<PosTransactionData>> getLivePosTransactionInforOfMerchant(String dbSource,Date lastUpdateTime);
	
	/**
	 * 获取实时增量信息
	 * @param dbSource
	 * @return
	 */
	public ServicesResultObject<List<LiveUpTransactionInfo>> getLiveIncrementPosTransactionInforOfBranch(String dbSource,String branchNo,Date lastUpdateTime);

	public ServicesResultObject<List<LiveUpTransactionInfo>> getLiveIncrementPosTransactionInforOfMerchant(String dbSource,String merchantNo,Date lastUpdateTime);
	
	public ServicesResultObject<List<LiveUpTransactionInfo>> getLiveIncrementPosTransactionInfor(String dbSource,Date lastUpdateTime);
	//public 

	public ServicesResultObject<List<LiveUpTransactionInfo>> getLiveIncrementPosTransactionInfor(String dbSource,String branchNo,String merchantNo,int steps,Date lastUpdateSTime,Date lastUpdateETime);

	public ServicesResultObject<List<LiveUpTransactionInfo>> getRecentLiveIncrementPosTransactionInfor(String dbSource,String branchNo,String merchantNo,String cardNo,Date lastUpdateSTime,Date lastUpdateETime);

}
